#include "ExampleApplication.h"
#include "ActionKeyFunctor.h"
#include "SBObject.h"
#include <map>
using namespace std;
typedef map<OIS::KeyCode,ActionKeyFunctor &> ActionKeyList;
typedef pair<OIS::KeyCode,ActionKeyFunctor &> ActionKeyPair;
	
// Declare a subclass of the ExampleFrameListener class
class MyListener : public ExampleFrameListener
{
	ActionKeyList * keyList;
	SceneManager* mSceneMgr;
	SceneNode * headNode;
	SceneNode * lightNode;
	SceneNode * rotationPoint;
	Ogre::Light * luciole;
	int i;

public:
    MyListener(RenderWindow* win, Camera* cam, SceneManager *_mSceneMgr);
    bool frameStarted(const FrameEvent& evt);
    bool frameEnded(const FrameEvent& evt);
	bool processUnbufferedKeyInput(const FrameEvent& evt);
	bool processUnbufferedMouseInput(const FrameEvent& evt);
};
